1. Field of the Invention
The present invention relates to the field of allowing coexistence of multiple PCI Managers in a PCI Express System.
2. Description of the Related Art
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
It is well known to provide information handing systems which include components that conform to a Peripheral Component Interconnect Express protocol. The Peripheral Component Interconnect Express (PCI Express or PCIe) protocol is rapidly establishing itself as the successor to the PCI protocol. When compared with PCI systems (i.e., legacy PCI), PCI Express systems provide higher performance, increased flexibility and scalability for next-generation systems, while maintaining software compatibility with existing PCI applications widely deployed in computer, storage, communications and general embedded systems.
One feature of the PCI Express protocol is IO virtualization. IO virtualization relates to the capability of an IO device to be used by more than on system image (e.g., by more than one operating system (OS)) executing on the same or different host processors.
It is known to provide a single root PCI manager (SR-PCIM). A SR-PCIM is defined in the PCI specification available from the Peripheral Component Interconnect Special Interest Group (PCI-SIG). More specifically, an IO virtualization (IOV) specification published by the PCI-SIG refers to system software that controls configuration, management and error handling of physical functions (PFs) and virtual functions (VFs). However, the IOV specification is silent on how to implement a SR-PCIM.
For example, the IOV specification does not set forth whether a SR-PCIM is implemented as a single entity or as multiple entities. The specification only defines the semantic requirements that SR-PCIM supports and the syntax and semantics of PCI Express extended configuration space fields which SR-PCIM uses to configure and manage IOV end points (EPs).